It is generally possible to describe a business
process as a workflow comprised of a discrete series of steps that
involves people and software. WF is a Windows platform specifically for
workflow technology (Figure 1).
At its core, WF enables the execution of steps required to complete a
business process. It is used to construct workflow-enabled services and
service compositions for which it provides the following:
an extensible programming model
a workflow engine
design tools for Visual Studio
a mechanism to invoke services and to publish workflows as services
WF technology is
applicable to document-centric workflows, human workflows, business
rules-driven workflows, and other variations. It is used to enable both
human and automated workflow steps and to wire up opaque blocks of
functionality called activities.
WF Architecture
The major parts of the WF platform (Figure 2)
include workflow, activities, the WF base activity library, the WF
runtime engine, and WF runtime services. Each part is further explained
in Figure 2 and Table 1.
Table 1. Descriptions of the major parts of WF.
Part | Description |
---|
activity | a unit of work or a discrete step in a business process |
workflow | a sequence of activities |
WF runtime engine | a
workflow instance is created and executed by the WF runtime engine
(which also manages state and communication with the host process) |
WF designers | UI tools used to implement a workflow using shapes (Visual Studio includes a WF designer) |
WF runtime services | services that provide hosting flexibility and communication |
host process | an
application that hosts the WF runtime engine which executes the
workflow (the host process provides support for runtime services, such
as persisting the workflow’s state) |
WF runtime services are
connection points for plug-in resource providers. For example, the
default persistence behavior provided by the runtime engine can be
changed by providing a runtime service. WF further supports compensating
transactions for a given runtime service activity. Within the solution
logic, WF can define actual compensators that are invoked when exceptions occur.